#ifndef CLIENTS_LIST_H__
#define CLIENTS_LIST_H__

#include "../base/client-info.h"
#include <map>
#include <set>
#include <QtCore>

class Message;

class ClientsList {
public:
    void add_client(const Message* message);

    // intoarce TRUE daca a fost completata o lista de fisiere
    // clientul cu lista completa este in->id()
    bool add_file_part(const Message* in, Message** out);

    // ClientInfo* search_by_address(quint32 ip, quint16 port);
    ClientInfo* search_by_id(ClientId id);

private:
    std::map<ClientId, std::set<quint32> > ack_segments_;
    std::map<ClientId, ClientInfo*> clients_;
    // std::map<std::pair<quint32, quint16>, ClientInfo*> addresses_;
};

#endif
